
public class Brute {

	public static void main(String[] args) {
		In in = new In(args[0]);      // input file
        int N = in.readInt();         // number of points N

        // repeatedly read in sites to open and draw resulting system
        Point[] points = new Point[N];
        
        int i = 0;
        while (!in.isEmpty()) {
            int x = in.readInt();
            int y = in.readInt();
            Point point = new Point(x, y);
            points[i] = point;
            i++;
        }
        
        Quick.sort(points);

        for (int a = 0; a < points.length; a++)
        	for (int b = a+1; b < points.length; b++)
        		for (int c = b+1; c < points.length; c++)
        			for (int d = c+1; d < points.length; d++) {
        				if (points[a].slopeTo(points[b]) == points[a].slopeTo(points[c]) && points[a].slopeTo(points[b]) == points[a].slopeTo(points[d])) {
        					StdOut.println(points[a].toString() + " -> " + 
        									points[b].toString() + " -> " + 
        									points[c].toString() + " -> " +
        									points[d].toString());
        				
	        				StdDraw.setXscale(0, 32768);
	        				StdDraw.setYscale(0, 32768);
	        				points[a].draw();
	        				points[b].draw();
	        				points[a].draw();
	        				points[c].draw();
	        				points[a].drawTo(points[d]);
        				}
        			}
	}

}
